package com.luzh.myspring.beans.factory;

import com.luzh.myspring.beans.BeanException;
import com.luzh.myspring.beans.factory.config.AutowireCapableBeanFactory;
import com.luzh.myspring.beans.factory.config.BeanDefinition;
import com.luzh.myspring.beans.factory.config.ConfigurableBeanFactory;

/**
 * 提供分析和修改Bean以及预先实例化的操作
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeanException;

    void preInstantiateSingletons() throws BeanException;

//    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);

}
